package com.animerank.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.animerank.entity.User;
import com.animerank.dto.UserRegisterDTO;
import com.animerank.dto.UserLoginDTO;
import com.animerank.dto.Result;
import jakarta.servlet.http.HttpServletResponse;

/**
 * 用户服务接口
 */
public interface IUserService extends IService<User> {

    /**
     * 用户注册
     * @param userRegisterDTO 用户注册信息
     * @return 注册结果
     */
    Result<?> register(UserRegisterDTO userRegisterDTO);

    /**
     * 用户登录
     * @param userLoginDTO 用户登录信息
     * @param response HTTP响应对象，用于设置响应头
     * @return 登录结果
     */
    Result<?> login(UserLoginDTO userLoginDTO, HttpServletResponse response);

    /**
     * 获取当前登录用户信息
     * @return 用户信息
     */
    Result<User> getCurrentUser();

    /**
     * 用户登出
     * @return 登出结果
     */
    Result<?> logout();

}